package collection;

import java.util.ArrayList;
import java.util.Collection;

/**集合泛型（参数化类型）：
 * 1.集合泛型是JDK1.5之后出现的，之前没有泛型，所以集合是Object类型
 * 2.泛型也称为参数化类型，允许我们在使用一个类时，
 *   1)传入某个类型来规定其内部的属性、方法的参数或返回值类型，使我们使用时更加方便
 *   2)泛型在集合中被广泛使用，用来指定集合中元素的类型，若不指定则默认为Object
 */
public class GenericDemo {
    public static void main(String[] args) {
        Collection<String> c=new ArrayList<>();
        c.add("one");
        c.add("two");
        //c.add(123);//编译错误，123不是String类型


        //Collection<int>//编译错误，int不是引用类型
        Collection<Integer> c1=new ArrayList<>();
        c1.add(123);//123是int类型，自动装箱，Integer是int的包装类
        //c1.add("one");//编译错误，one不是Integer类型

    }
}
